package com.techsoul.module.pms.pojo.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.techsoul.common.core.annotation.ExcelField;
import com.techsoul.module.accounting.pojo.vo.AccountingArVo;
import com.techsoul.module.pms.pojo.entity.TbWmsMaterialDeliveryLine;
import com.techsoul.module.pms.pojo.entity.TbWmsMaterialReceiptLine;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;

import java.util.Date;
import java.util.List;

/**
 * 出库单 Vo
 * 
 * @author liuen
 * @date 2022-01-25
 */
@Data
@Accessors(chain = true)
public class TbWmsMaterialDeliveryVo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("客户单号")
    @ExcelField(title = "客户单号", sort = 40)
    private String orderNo;

    @ApiModelProperty("商品代码")
    @ExcelField(title = "商品代码", sort = 60)
    private String materialNo;

    @ApiModelProperty("货物状态")
    @ExcelField(title = "货物状态", sort = 80)
    private String materialStatus;

    @ApiModelProperty("指定库位")
    @ExcelField(title = "指定库位", sort = 90)
    private String locationNo;

    @ApiModelProperty("明细备注")
    @ExcelField(title = "备注", sort = 110)
    private String lineRemark;

    @ApiModelProperty("库位")
    private List<TbWmsMaterialInLocationVo> locationItems;
    @ApiModelProperty("应收")
    private List<AccountingArVo> lineArs;


    @ApiModelProperty("明细")
    private List<TbWmsMaterialDeliveryLineVo> receitems;
    @ApiModelProperty("收货人名称")
    private String consigneeName;

    @ApiModelProperty("仓库编码")
    private String warehouseCode;
    @ApiModelProperty("客户名称")
    private String customerName;
    @ApiModelProperty("订单处理日期")
    private String orderHandlingType;
    @ApiModelProperty("订单类型")
    @ExcelField(title = "订单类型", sort = 100)
    private String orderType;
    @ApiModelProperty("订单日期")
    @ExcelField(title = "订单日期", sort = 20)
    private Date orderTime;
    @ApiModelProperty("客户号")
    @ExcelField(title = "客户", sort = 10)
    private String customerNo;
    @ApiModelProperty("报错代码")
    private String errorCode;
    @ApiModelProperty("报错信息")
    private String importErrorMesg;
    @ApiModelProperty("报错标识")
    private String errorFlag;
    @ApiModelProperty("域")
    private String siteCode;

    @ApiModelProperty("预出库时间")
    @ExcelField(title = "要求发货日期", sort = 30)
    private Date preDeliveryTime;

    @ApiModelProperty("")
    private Date createDate;

    @ApiModelProperty("审核人")
    private String approveBy;

    @ApiModelProperty("审核时间")
    private Date approveDate;

    @ApiModelProperty("状态")
    private String status;

    @ApiModelProperty("")
    private String remark;

    @ApiModelProperty("")
    private Long version;

    @ApiModelProperty("出库单号")
    private String deliveryNo;

    @ApiModelProperty("模板号")
    private String templateId;

    @ApiModelProperty("出库数")
    @ExcelField(title = "数量", sort = 70)
    private Double quantity;

    @ApiModelProperty("")
    private String id;

    @ApiModelProperty("是否有效（数据字典sys_yn_type，默认1-是）")
    private String isValid;

    @ApiModelProperty("创建人")
    private String createBy;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新人")
    private String updateBy;

    @ApiModelProperty("更新时间")
    private Date updateTime;

    @ApiModelProperty("创建人名称")
    private String createByName;

    @ApiModelProperty("更新人名称")
    private String updateByName;
    @ApiModelProperty("案件名称")
    private String caseName;

    @ApiModelProperty("自定义5")
    private String configColFive;

    @ApiModelProperty("自定义4")
    private String configColFour;
    @ApiModelProperty("自定义3")
    private String configColThree;
    @ApiModelProperty("自定义2")
    private String configColTwo;

    @ApiModelProperty("自定义1")
    private String configColOne;

    @ApiModelProperty("发货人")
    private String shipperContact;
    @ApiModelProperty("发货人邮编")
    private String shipperZipNo;
    @ApiModelProperty("发货人电话")
    private String shipperPhoneNo;
    @ApiModelProperty("收货人电话")
    private String consigneePhoneNo;
    @ApiModelProperty("收货人")
    @ExcelField(title = "收货人代码", sort = 50)
    private String consignee;

    @ApiModelProperty("customerType")
    private String customerType;
    @ApiModelProperty("consigneeCity")
    private String consigneeCity;
    @ApiModelProperty("consigneeAddress")
    private String consigneeAddress;


}
